package com.turing.post.organization.util;

import java.math.BigInteger;
import java.util.List;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;
import com.turing.post.util.PCPSWebInput;

/**
 * 业务凭证种类对照
 * 
 * @author wzd
 * @2013-03-13
 */
@Remote
@Local
public interface VoucherBusinessBindDao {

	/**
	 * 根据业务类型检索业务凭证种类对照列表---注：模糊查询
	 * 
	 * @param businessType
	 *            业务类型
	 * @param page
	 *            页码
	 * @return 对照列表
	 */
	public List<VoucherBusinessBind> getVoucherBusinessBindByBusinessType(
			PCPSWebInput webInput, String businessType, Integer page);

	/**
	 * 查询业务凭证种类对照记录条数
	 * 
	 * @param businessType
	 *            业务类型
	 * @return BigInteger 记录总数
	 */
	public BigInteger getVoucherBusinessBindByBusinessTypeTotal(
			PCPSWebInput webInput, String businessType);

	/**
	 * 根据凭证id和业务类型查询业务凭证种类对照对象
	 * 
	 * @param voucherId
	 *            凭证Id
	 * @param businessType
	 *            业务类型
	 * @return 对照对象
	 */
	public VoucherBusinessBind getVoucherBusinessBind(BigInteger voucherId,
			String businessType);

	/**
	 * 新增业务凭证种类对照
	 * 
	 * @param VoucherBusinessBind
	 *            业务凭证种类对照
	 * @throws PCPSApplicationException
	 */
	public void insertVoucherBusinessBind(
			VoucherBusinessBind voucherbusinessbind)
			throws PCPSApplicationException;

	/**
	 * @删除业务凭证种类对照
	 * @param VoucherBusinessBind
	 *            业务凭证种类对照
	 * @throws PCPSApplicationException
	 */
	public void deleteVoucherBusinessBind(
			VoucherBusinessBind voucherbusinessbind)
			throws PCPSApplicationException;

	/**
	 * 根据凭证id查询业务凭证种类对照对象
	 * 
	 * @param voucherId
	 *            凭证Id
	 * @return 对照对象
	 */
	public VoucherBusinessBind getVoucherBusinessBindByvoucherId(
			VoucherBusinessBind voucherbusinessbind);
}
